// miniprogram/pages/msg/msg.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    templateId: "yxn_QyUoSZQIJk5iMqgZxb-5E4OuwNKyzF-Aju7SWPs", //订阅消息模板ID
    tmpdata: {
      "thing1": {
        "value": "天宇"
      },
      "thing3": {
        "value": "抢红包活动"
      }
    }, //订阅数据
  },
  // 订阅消息
  onSubscribe: function(e) {
    console.log(e)
    // 获取订阅信息
    let tmpdata = e.currentTarget.dataset.tmpdata;
    // 活动完成模板ID
    let completeActivityTmplId = this.data.templateId;

    // 调用微信 API 申请发送订阅消息
    wx.requestSubscribeMessage({
      // 传入订阅消息的模板id，模板 id 可在小程序管理后台申请
      tmplIds: [completeActivityTmplId],
      success(res) {
        console.log(res[completeActivityTmplId]);
        // 申请订阅成功且用户点击确定
        if (res.errMsg === 'requestSubscribeMessage:ok' && res[completeActivityTmplId] === "accept") {
          // 这里将订阅的课程信息调用云函数存入云开发数据
          wx.cloud
            .callFunction({
              name: 'subscribe',
              data: {
                data: tmpdata,
                templateId: completeActivityTmplId,
              },
            })
            .then(() => {
              wx.showToast({
                title: '订阅成功',
                icon: 'success',
                duration: 2000,
              });
            })
            .catch(() => {
              wx.showToast({
                title: '订阅失败',
                icon: 'success',
                duration: 2000,
              });
            });
        }
      },
      fail(err) {
        console.log(err)
      }
    });
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})